ENH-173: Decision Records Overview Table Style and Clickable ID ¶
1 Status ¶
| Date | Status | |
|---|---|---|
| 17-05-2026 | Proposed | |
| 17-05-2026 | Accepted | |
| 17-05-2026 | In-Progress | |
| ▶ | 17-05-2026 | Implemented |
2 Context ¶
The Decision Records Overview page (build/decisions/overview.html) renders each record as one row of a table.controlled table with columns #, Type, Status, and Title. Two visual aspects of the table are weaker than they could be:
- Column header text inherits the controlled-table CSS rule
font-weight: normal, so headers read at the same weight as body cells. There is no visual hierarchy between header and body rows. - The
Titlecell content is rendered at default weight — the most user-recognisable column has no visual emphasis. - The
#cell wraps the sequence number in<b>, so it is bold, but its anchor'shrefpoints to the row itself (href="#<id>"). Clicking it does not navigate anywhere — only theTitlecell carries a real hyperlink to the rendered decision page.
This makes the overview feel flatter than it could and forces the user's eye and pointer to the rightmost column to drill in to a record.
3 Decision ¶
Four changes to the Decision Records Overview page, scoped to that page only:
- Column header text shall render in bold font weight.
- The
Titlecell content shall render in bold font weight on every row. - The
#cell shall be a hyperlink to the rendered decision page, using the same target as the existingTitlelink. The anchor'snameandidattributes shall be retained so that deep links into the overview row (e.g.,overview.html#adr-170) keep working; only thehrefchanges from a same-page self-reference to a navigation target. - Three additional columns shall be appended after the
Titlecolumn, in this order:Start Date,Target Date,Owner. The cells in these columns shall be empty in scope of this enhancement. They reserve visual space and column headings for future content; no data extraction from the decision record source is performed by this ADR. After this change, the overview column order is:#,Type,Status,Title,Start Date,Target Date,Owner.
Implementation note: to keep these styling changes from affecting the Specifications Index and other table.controlled instances, the overview shall opt in via an additional CSS class (for example, table.controlled.decisions_overview), and the new CSS rules shall target that class.
4 Scope ¶
| Item | Status | Start Date | Target Date | Description |
|---|---|---|---|---|
| Code | Done | 17-05-2026 | 17-05-2026 | DecisionsOverview emits class="controlled decisions_overview"; # anchor href switched to the decision page (with name/id retained for deep links); inline <b> removed; three CSS rules scoped to table.controlled.decisions_overview (bold th, td.item_id, td.item_text); three empty placeholder columns added after Title with class item_meta |
The changes are considered as consmetic, so there are neither requirements nor end-to-end tests are made in scope of this enhancement.
5 Out of Scope ¶
- Bold formatting of cells other than the column headers and
Title. TheTypeandStatuscells, and the body of the#cell, keep their current weight. - Visual changes to other index pages (Specifications Index, Traceability Matrices, etc.). The change is scoped to the Decision Records Overview.
- Reordering or renaming the existing overview columns (
#,Type,Status,Title). - Populating values into the three new columns (
Start Date,Target Date,Owner). The columns are reserved as visual placeholders only; deriving their values from decision record content is a separate, future change.
6 Consequences ¶
6.1 Positive ¶
- Clearer visual hierarchy: headers stand out from body cells, and
Title(the most informative column) catches the eye first. - Two clickable paths into each decision page (
#andTitle), so readers don't have to overshoot to the right side of the row to drill in. - Deep-link targets into the overview rows (
overview.html#adr-170) keep working unchanged.
6.2 Negative ¶
- The
#cell's previous self-anchorhrefis lost. Anyone who deliberately clicked the number expecting nothing to happen will see navigation instead — minor surprise, but a one-time adjustment.
6.3 Neutral ¶
- This is the first overview-scoped CSS rule. It sets a precedent for per-overview-page styling that future overview pages can opt in to via the same class mechanism.
- A small CSS adjustment was made during implementation:
white-space: nowrapwas added totable.controlled td.item_statusso multi-word status values (e.g., "In-Progress") render on one line. Strictly a follow-on tweak to ADR-172's CSS, applied here because the wrap was discovered while reviewing this ENH's visual changes.
7 Alternatives Considered ¶
- Apply bold headers globally to
table.controlled th. Rejected: changes the Specifications Index and othertable.controlledinstances at the same time, which is a wider change than the user asked for and should be considered separately. - Wrap Title text in
<b>inline rather than via CSS. Rejected: presentation belongs in CSS; an inline<b>is harder to revise later and would have to be repeated per row in the renderer. - Make the entire row clickable. Rejected: more invasive, requires JS or
<a>wrapping every cell, and offers little advantage over making two cells clickable.
8 Software Versions ¶
| Software Version Category | Software Version ID |
|---|---|
| Latest Released Version | 0.3.1 |
| Issue Found in Version | 0.4.0 |
| Target Release Version | 0.4.0 |
9 References ¶
- ADR-170 — introduces decision records and the overview page
- ADR-172 — introduces the
Statuscolumn and current-status marker in the overview